home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2005 October / PCWOCT05.iso / Software / FromTheMag / XAMPP 1.4.14 / xampp-win32-1.4.14-installer.exe / xampp / php / pear / docs / mailparse / .tmptry.php < prev   
PHP Script  |  2004-03-24  |  2KB  |  63 lines

  1. <?php
  2.  
  3. if (!extension_loaded("mailparse")) {
  4.     dl("mailparse.so");
  5. }
  6.  
  7. /*
  8.  * This is a simple email viewer.
  9.  * make sure that $filename points to a file containing an email message and
  10.  * load this page in your browser.
  11.  * You will be able to choose a part to view.
  12.  * */
  13.  
  14. if ($argv[1])
  15.     $filename = $argv[1];
  16. else
  17.     $filename = "yourmessage.txt";
  18.  
  19. /* parse the message and return a mime message resource */
  20. $mime = mailparse_msg_parse_file($filename);
  21.  
  22. debug_zval_dump($mime);
  23.  
  24. /* return an array of message parts - this contsists of the names of the parts
  25.  * only */
  26. $struct = mailparse_msg_get_structure($mime);
  27.  
  28. echo "<table>\n";
  29. /* print a choice of sections */
  30. foreach($struct as $st)    {
  31.     echo "<tr>\n";
  32.     echo "<td><a href=\"$PHP_SELF?showpart=$st\">$st</a></td>\n";
  33.     /* get a handle on the message resource for a subsection */
  34.     $section = mailparse_msg_get_part($mime, $st);
  35.     /* get content-type, encoding and header information for that section */
  36.     $info = mailparse_msg_get_part_data($section);
  37.     print_r($info);
  38.     echo "\n";
  39.     echo "<td>" . $info["content-type"] . "</td>\n";
  40.     echo "<td>" . $info["content-disposition"] . "</td>\n";
  41.     echo "<td>" . $info["disposition-filename"] . "</td>\n";
  42.     echo "<td>" . $info["charset"] . "</td>\n";
  43.     echo "</tr>";
  44. }
  45. echo "</table>";
  46.  
  47. /* if we were called to display a part, do so now */
  48. if ($showpart)    {
  49.     /* get a handle on the message resource for the desired part */
  50.     $sec = mailparse_msg_get_part($mime, $showpart);
  51.  
  52.     echo "<table border=1><tr><th>Section $showpart</th></tr><tr><td>";
  53.     ob_start();
  54.     /* extract the part from the message file and dump it to the output buffer
  55.      * */
  56.     mailparse_msg_extract_part_file($sec, $filename);
  57.     $contents = ob_get_contents();
  58.     ob_end_clean();
  59.     /* quote the message for safe display in a browser */
  60.     echo nl2br(htmlentities($contents)) . "</td></tr></table>";;
  61. }
  62. ?>
  63.